package com.mukefile.service;

import com.mukefile.dto.DeleteFileDto;
import com.mukefile.dto.FileListDto;
import com.mukefile.pojo.ResponseData;
import com.mukefile.pojo.UserFile;
import com.mukefile.pojo.UserFolder;

import java.util.List;

/**
 * 用户操作文件业务逻辑接口
 * @author xinke.huang@hand-china.com
 * @version 1.0
 * @date 2021/2/10
 */
public interface UserFileService {
    /**
     * 新增文件夹
     * @param folder 文件夹对象
     * @return
     */
    int addFolder(UserFolder folder);

    /**
     * 重命名文件夹
     * @param folder 文件夹
     */
    void renameFolder(UserFolder folder);

    /**
     * 重命名文件
     * @param file 文件
     */
    void renameFile(UserFile file);

    /**
     * 查询文件列表,文件夹列表
     * @param userId
     * @param pid
     * @param page
     * @param limit
     * @return
     */
    ResponseData<FileListDto> getAllFileAndFolder(Integer userId,Long pid, Integer page, Integer limit);

    /**
     * 根据id查询文件夹对象
     * @param id id
     * @return
     */
    UserFolder getFolderById(Long id);

    /**
     * 批量删除文件及文件夹
     * @param deleteFiles
     */
    void deleteFiles(List<DeleteFileDto> deleteFiles);

}
